go语言结构体的定义 |
您所在的位置:网站首页 › golang define › go语言结构体的定义 |
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! 附上汇总贴: go语言没有面向对象的概念了,但是可以使用结构体来实现,面向对象编程的一些特性,例如:继承、组合等特性。 go语言结构体的定义上一节我们介绍了类型定义,结构体的定义和类型定义类似,只不过多了一个struct关键字,语法结构如下: type struct_variable_type struct { member definition; member definition; ... member definition; }type:结构体定义关键字 struct_variable_type:结构体类型名称 struct:结构体定义关键字 member definition:成员定义 实例 下面我们定义一个人的结构体Person type Person struct { id int name string age int email string }以上我们定义一个Person结构体,有四个成员,来描述一个Person的信息。 同类型的可以合并到一行,例如: type Person struct { id, age int name, email string } 声明一个结构体变量声明一个结构体变量和声明一个普通变量相同,例如: package main import "fmt" type Person struct { id, age int name, email string } func main() { var tom Person fmt.Printf("tom: %v\n", tom) kite := Person{} fmt.Printf("kite: %v\n", kite) }运行结果 [Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go" tom: {0 0 } kite: {0 0 }结构体成员,在没有赋值之前都是零值。 访问结构体成员可以使用点运算符(.),来访问结构体成员,例如: package main import "fmt" func main() { type Person struct { id, age int name, email string } var tom Person tom.id = 1 tom.name = "tom" tom.age = 20 tom.email = "[email protected]" fmt.Printf("tom: %v\n", tom) }运行结果如下: [Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go" tom: {1 20 tom [email protected]} 匿名结构体如果结构体是临时使用,可以不用起名字,直接使用,例如: package main import "fmt" func main() { var dog struct { id int name string } dog.id = 1 dog.name = "花花" fmt.Printf("dog: %v\n", dog) } |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |